const HtmlWebpackPlugin = require('html-webpack-plugin') // 自动引用资源
const MiniCssExtractPlugin  = require('mini-css-extract-plugin');
const { resolve } = require('path')
const htmlPublicPath = resolve(__dirname, 'build')

module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/buit.js',
    path: htmlPublicPath,
    publicPath: './',
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          // 创建 style 标签，将样式放入
          // 'style-loader',

          // 作用： 提取js中的css成单独一个文件(默认main.css)
          MiniCssExtractPlugin.loader,
          
          // 将css 文件整合到js文件中
          'css-loader'
        ],
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),
    new MiniCssExtractPlugin({
      // 对 css 文件，重命名
      // filename: 'css/built.css',

      // 默认main.css
      filename: 'css/[name].[hash:7].css',
      chunkFilename: 'css/[id].[hash:7].css',
    }),
  ]
}